As hand-held cameras become ubiquitous, it is desirable to extend their capabilities beyond the basic image acquisition. Camera-based optical triangulation is a cost effective method for optical sensing techniques that can be used to measure distances to objects, and related parameters such as displacements and surface dimensions. Compared to other standalone range finders, camera-based optical triangulation requires minimum hardware addition to existing designs, thus making it an attractive alternative.
The general application of such systems is illustrated in FIG. 1.                1—The camera optics 1 laterally displace form the laser source 2 by distance H.        2—The collimated laser source 2 is used to project a laser blob 4 on the object 3 at distance D.        3—Laser detection method is used to detect the center of the laser blob 4 in terms of exact sensor pixels coordinates.        4—Preliminary camera calibration is used to determine the angle θ associated with the detected pixel coordinates.        5—The unknown distance D is determined from D=H/tan(θ).        
For most cases, the preliminary camera calibration and steps 1, 2, and 4 are basically the same. The fundamental difference between individual systems are in stage 3 in relation to the detection of the blob on the pixels as set out hereinafter.
The basic requirement of a camera-based optical triangulation system is the ability to detect the laser blob location in the captured image sequence. The two most common approaches for laser blob detection are based on finding local extrema and background differencing.
In the local extrema method, most blob detection methods in general, and laser blob detection methods in particular, are based on finding local extrema within the image domain. Local extrema detectors usually require image manipulation prior to the extrema search. Moreover, the extrema search for the laser blob detector is often reduced to maximum pixel intensity search in the image domain.
A number of problems arise. Firstly in relation to high intensity background objects, the basic requirement of the disclosed image processing system is the ability to detect the laser projection emitted from the integrated laser source. Additionally, a fundamental characteristic of the laser projection emitted from the integrated laser source is that the resulting laser blob in the image domain can take various forms in terms of size, intensity, and color due to ambient light conditions and the target distance, color, brightness, and texture.
Extrema-based techniques usually cannot distinguish between a laser blob that was originated from the integrated laser source and other bright blobs captured in the processed image.
Further problems can arise in view of non-homogeneous targets. Another fundamental characteristic of the disclosed image processing system is that target objects might have non-homogeneous color, intensity, and texture. Hence, the resulting laser blob in the image domain might also have non-homogeneous form it terms of color, intensity and shape. Extrema-based detectors have a significant difficulty in handling such discontinuities in laser blobs of different sizes.
Yet another requirement of the disclosed image processing system is ability to provide a perceived real-time user feedback. Many of the existing extrema-based image processing approaches for blob detection are computationally intensive and are not suitable for embedded application such as a hand-held camera device.
When appropriate, laser blob detectors can also use a background differencing approach. In this case the background image does not include the laser projection while the foreground image does. The laser blob is detected by computing the difference between every pixel in the background image from the corresponding pixel in the foreground image. High intensity pixels in the resulting difference image are detected as the laser blob.
Problems arise in relation to the background differencing approach firstly in relation to high intensity targets where laser blob detectors that rely on conventional background differencing often fail to properly detect laser projections on high intensity targets. This is due to the non-homogeneous difference image resulting from the background subtraction. In this case different regions of the laser blob have significant intensity differences thus not detected as a laser blob.
Furthermore, variation in ambient light provide another common problem associated with background differencing techniques caused by their high sensitivity to changes in ambient light. Therefore, laser blob detectors based on conventional background differencing are usually used in well controlled environments which is not necessarily the case for hand-held devices.
Yet another problem with the background differencing method, arising from a non-homogeneous background, is that it requires the laser projection to be the only difference between the background image and the foreground image. Since there is a time difference between the acquisitions of the background and the foreground images, factors such as hand shaking, object vibration, and other scenery updates can easily result in false laser detections.